The present invention generally relates to a multiprocessor system, and more specifically, to a multiprocessor system for managing a processor in every cluster.
In case that a memory access operation is carried out in such a kind of multiprocessor system, each of these processors may include address translation tables with respect to all address spaces, and separately performs the address translations. However, in this case, the following problem as to the memory capacity may be occurred. That is, a total storage capacity of the address translation tables required for the entire multiprocessor system would be increased in proportion to the square number of the processors employed in the multiprocessor system.
In case that a plurality of processors access to the same data space, the address translation table corresponding to this data space is stored distributedly into the plurality of processors. As a consequence, these distributed address translation tables are updated over a plurality of processors, and thus the table updating becomes complex.
Kai Li and Paul Hudak studied the memory coherence problem in designing and implementing a shared virtual memory on loosely coupled multiprocessors. The study is described in Pages 321-359 of ACM (Association for Computing Machinery) Transactions on Computer Systems, Vol.7, No.4, November 1989. The shared virtual memory is a single address space shared by a number of processors. The shared virtual memory provides a virtual address space that is shared among all processors in a loosely coupled distributed-memory multiprocessor system. Any processor can access any memory location in the address space directly. The shared virtual memory not only shares data between physical memories and disks, as in a conventional virtual memory system, but it also shares data between the physical memories of the individual processors. Each processor has a mapping manager for mapping between local memories and the shared virtual memory address space. Since the shared memory itself exists only virtually like the traditional virtual memory, a memory reference causes a page fault when the page containing the memory location is not in a processor's current physical memory. Therefore, the mapping manager owns the address translation table over the all memory space in the system.